# -*- codeing = utf-8 -*-
# @Time : 2021/2/22 13:21
# @Atuthor: 朱朱
# @File: 039循环 判断语句练习.py
# @Software: PyCharm

# 01根据输入的百分制成绩打印`及格` 或者`不及格`，60分以下为不及格
# while True:
#     score = float(input('请输入成绩(0-100)之间'))
#     if 0<score < 60:
#         print('成绩不及格')
#     elif 60<=score<=100:
#         print('恭喜成绩及格了')
#     if score<0 or score>100:
#         print('输入不正确')
#         break

# 02使用while循环输出0到100内所有的偶数。[0,100]
# i = 0
# while i<=100:
#     if i%2==0:
#         print(i)
#     i+=1

# 03用for循环输出 0到100内所有的奇数和偶数。
# count = 0
# count2 = 0
# for i in range(0,101):
#     if i%2==0:
#         count+=1
#         print(i,'是偶数')
#     else:
#         count2+=1
#         print(i,'是奇数')
# print(count,'个偶数')
# print(count2,'个奇数')

# 04使用循环计算出1到100求和的结果
# i = 0
# count = 0
# while i <100:
#     i+=1
#     count +=i
# print(count)
# ----------------------
# count = 0
# for i in range(1,101):
#     count+=i
# print(count)
# ----------------------

# 05统计100以内个位数是2并且能够被3整除的数的个数
# count = 0
# i = 0
# for i in range(1,101):
#     if i%10==2 and i %3==0:
#         count+=1
#         print(i)
# print('满足条件的数字的个数是',count,'个')

# 06输入任意一个正整数，求它是几位数
# num = int(input('请输入一个正整数'))
# count =0
# while True:
#     num = num//10
#     count +=1
#     if num == 0:
#         break
# print(count)

# 07打印所有的水仙花数
"""
水仙花数（Narcissistic number）也被称为超完全数字不变数
（pluperfect digital invariant, PPDI）、
自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数（Armstrong number），
水仙花数是指一个 3 位数，它的每个位上的数字的 3次幂之和等于它本身
（例如：1^3 + 5^3+ 3^3 = 153）。
"""
# for i in range(100, 1000):
#     ge = i % 10
#     shi = i // 10 % 10
#     bai = i // 100
#     if (ge ** 3 + shi ** 3 + bai ** 3) == i:
#         print(i, '是水仙花数')

# 08写一个程序可以不断的输入内容，如果输入的内容是exit，打印`程序结束`后结束该程序
# while True:
#     content = input('请输入exit退出程序,其他输入非法')
#     if content == 'exit':
#         print('输入正确,退出程序')
#         break
#     else:
#         print('非法退出,请重新输入')

# 素数也叫质数，除了1和它本身以外，不能再被其他的任何数整除
# 09求2到100的合数(1既不是质数，也不是合数;2是质数)
# for i in range(2, 101):  # i=105
#     for j in range(2, int(i ** 0.5)+1):  # range(2,105)  从2取到104  2  3
#         if i % j == 0:  # i 除以某一个数字，除尽了,i是合数
#             # print(i, '是合数')
#             break  # break放在内循环里，用来结束内循环
#     else:
#         # for...else语句:当循环里的break没有被执行的时候，就会执行else
#         print(i, '是质数')
#------------------------------------------
# for i in range(2,101):
#     count = 0
#     for j in range(2,i):
#         if i%j==0:
#             count+=1
#     if count==0:
#         print(i,'是一个质数')
#     else:
#         print(i,'是一个合数')
#------------------------------------------
# for i in range(2,101):
#     flag = True
#     for j in range(2,i):
#         if i%j==0:
#             flag= False
#             break
#     if flag:
#         print(i,'是质数')

# 010求斐波那契数列中第n个数的值，n是正整数
# n = int(input('请输入您的第几个斐波那契数'))
# 求斐波那契数里第 12 个数
# 1,1,2,3,5,8,13,21,34,55,89,144
# num1 =1
# num2 = 1
# # 第3个交换1
# # 第4个交换2
# # 第5个交换3
# # 第n个交换n-2
# for i in range(0,n-2):
#     a = num1
#     num1 = num2
#     num2 = a+num2
# print(num2)

# 011 for in 99乘法表
for i in range(1,10):
    for j in range(1,i+1):
        print('%02d'%j,'*','%02d'%i,'=','%02d'%(j*i),end='\t')
    print()

# 012 "百马百担"问题：一匹大马能驮3担货，一匹中马能驮2担货，两匹小马能驮1担货，
# 如果用一百匹马驮一百担货，问有大、中、小马各几匹？
# 假设大马有x,假设中马有y,小马  100 - x - y
# for x in range(0, 100 //3+1):
#     for y in range(0,100//2+1):
#         if (x*3 + y*2 +(100-x-y)*0.5)==100:
#             print(x,y,(100-x-y))

# 013 一张纸的厚度大约是0.08mm，对折多少次之后能达到珠穆朗玛峰的高度（8848.13米）
# height = 0.08/1000
# count = 0
# while True:
#     height = height*2
#     count+=1
#     if height>=8848.13:
#         break
# print(count)